﻿using Fujitsu.JiraAnalysis.JiraRPC;
using System.Collections.Generic;

namespace Fujitsu.JiraAnalysis.TrackingSystemAdapter
{
    public interface ITrackSystemInfo
    {
        void OpenConnection();
        List<RemoteStatus> GetStatuses();
        List<RemotePriority> GetPriorities();
        List<RemoteResolution> GetResolutions();
        List<RemoteIssueType> GetIssueTypesForProjectKey(string projectKey);
        List<RemoteIssueType> GetSubtaskIssueTypesForProject(string projectId);
        List<RemoteProject> GetProjects();
        RemoteProject GetProjectByKey(string projectKey);
        IEnumerable<RemoteIssue> GetIssuesForProject(string projectKey, bool isIncludeSubtasks);
        IEnumerable<RemoteWorklog>GetWorkLogs(string issueKey);
        RemoteUser GetUser(string username);
        IEnumerable<RemoteVersion> GetProjectVersions(string projectKey);
        RemoteIssue GetIssue(string issueKey);
    }
}
